//
// Created by LaiChao on 2020/11/20.
//

#ifndef THEROADTOADVANCEMENT_ACWINGSOLUTIONS_H
#define THEROADTOADVANCEMENT_ACWINGSOLUTIONS_H

#include "./__OSJudge.h"
#include "./DataStructure/List.h"
#include <vector>

using namespace std;

// AcWing上的刷题
class AcStar {
public:
    static int getNumberOfK(vector<int> &nums, int k);          // 67. 数字在排序数组中出现的次数
    static int getMissingNumber(vector<int> &nums);             // 68. 0到n-1中缺失的数字
    static void reOrderArray(vector<int> &array);               // 32. 调整数组顺序使奇数位于偶数前面
    static vector<int> printListReversingly(ListNode *head);    // 17. 从尾到头打印链表
    static vector<int> getLeastNumbers_Solution(vector<int> input, int k);  // 53. 最小的k个数
    static vector<int> findNumbersWithSum(vector<int> &nums, int target);   // 75. 和为S的两个数字
    static vector<int> printMatrix(vector<vector<int> > matrix);            // 40. 顺时针打印矩阵
    static vector<vector<int>> permutation(vector<int> &nums);  // *** 51. 数字排列(含有重复数字) ***
    static int NumberOf1(int n);        // 26. 二进制中1的个数
};

#endif //THEROADTOADVANCEMENT_ACWINGSOLUTIONS_H
